package com.atguigu.crowd.service;

import com.atguigu.crowd.entity.Role;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * role的业务接口
 *
 * @author wmb
 *
 * @since 2021-1-21
 */
public interface RoleService {

    /**
     * 分页查询角色
     *
     * @param pageNum
     * @param pageSize
     * @param keyword
     *
     * @return
     */
    PageInfo<Role> getPageInfo(Integer pageNum, Integer pageSize, String keyword);

    /**
     * 保存Role
     *
     * @param role
     */
    void saveRole(Role role);

    /**
     * 更新Role
     *
     * @param role
     */
    void updateRole(Role role);

    /**
     * 批量删除role
     *
     * @param roleIdList
     */
    void removeRole(List<Integer> roleIdList);

    /**
     * 根据adminId获取用户已获得的角色
     *
     * @param adminId
     *
     * @return
     */
    List<Role> getAssignedRole(Integer adminId);

    /**
     * 根据adminId获取用户未获得的角色
     *
     * @param adminId
     *
     * @return
     */
    List<Role> getUnAssignedRole(Integer adminId);
}
